import request from '@/utils/request'

// 查询导入导出任务列表
export function listTask(query) {
  return request({
    url: '/importExport/task/list',
    method: 'get',
    params: query
  })
}

// 查询导入导出任务详细
export function getTask(id) {
  return request({
    url: '/importExport/task/' + id,
    method: 'get'
  })
}

// 新增导入导出任务
export function addTask(data) {
  return request({
    url: '/importExport/task',
    method: 'post',
    data: data
  })
}

// 修改导入导出任务
export function updateTask(data) {
  return request({
    url: '/importExport/task',
    method: 'put',
    data: data
  })
}

// 删除导入导出任务
export function delTask(id) {
  return request({
    url: '/importExport/task/' + id,
    method: 'delete'
  })
}

// 根据任务id 下载已完成好的文件
export function downlodaFileById(id,fileName) {
  return request({
    url: '/importExport/task/downlodaFileById?id=' + id + '&fileName=' + fileName,
    method: 'get'
  })
}

//导出文件，并将操作记录入库
export function exportByTempleId(data) {
  return request({
    url: '/importExport/task/exportByTempleId',
    method: 'post',
    data: data
  })
}

// 重新开始任务 根据任务id
export function restartTaskById(id) {
  return request({
    url: '/importExport/task/restartTaskById?id=' + id,
    method: 'get'
  })
}

// 停止任务 根据任务id
export function stopTaskById(id) {
  return request({
    url: '/importExport/task/stopTaskById?id=' + id,
    method: 'get'
  })
}

// 将文件内容导入到数据库中
export function importByFile(data) {
  return request({
    url: '/importExport/template/importByFile',
    method: 'post',
    data: data
  })
}

// 数据源列表
export function listDatasource() {
  return request({
    url: '/importExport/jdbcConfig/listDatasource',
    method: 'get'
  })
}

// 模板列表
export function listTemplate() {
  return request({
    url: '/importExport/template/listTemplate',
    method: 'get'
  })
}

// 根据数据源获取该库的所有表
export function listTables(databaseId) {
  return request({
    url: '/importExport/jdbcConfig/listTables?databaseId=' + databaseId,
    method: 'get'
  })
}